At least one embodiment of the present invention generally relates to the use of a filter to obtain a correction quantity to correct barometric altimeter readings based on GPS and barometric measurements. At least one embodiment of the present invention generally relates to adjusting the filter between multiple filter gains to account for the rate at which local pressure factors change to correct for errors introduced into the barometric altimeter readings. At least one embodiment of the present invention generally relates to barometer correction based on statistical models that predict drift in the barometer output. At least one embodiment relates to a method for calibrating an atmospheric model used to correct barometric altimeter readings.
In general, altitude measurements are made using a barometric altimeter that senses local atmospheric pressure and, based on a standard model of atmospheric pressures above MSL, converts each pressure measurement to an altitude. Local atmospheric pressure at any given altitude varies widely due to whether, solar heating and the like. In order to afford accurate altitude measurements, barometric altimeters are calibrated frequently to correct for atmospheric pressure variations.
An alternative technique for determining altitude is based on measurements from receivers within the Global Positioning System (GPS). The GPS system is a network of satellites used to calculate the location of the GPS receivers. The GPS satellites are distributed among six orbits inclined from the equator with consecutive satellite orbits being separated across the equator. The satellites in each orbit have approximately 12-hour orbits and are spaced in order that a number of satellites are visible to a user at any time.
A range measurement is obtained by a GPS receiver from each satellite as well as the location of the satellite at the time of the measurement. Each range measurement is obtained by measuring propagation time of a signal from the satellite to the GPS receiver. Generally, at least four GPS satellite ranges are used to solve for the GPS receiver location, including the (x,y,z) location coordinates of the GPS receiver and the clock bias of an oscillator in the GPS receiver relative to the GPS system time.
The altitude represents the height of a user above sea level, where mean sea level (MSL) altitude is found by converting the x,y,z coordinate position into a height above a reference ellipsoid defined by the WGS-84 (World Geodetic Survey) Model. The MSL altitude is the difference between the MSL height and the local height of the reference ellipsoid.
In the past, the vertical measurements performed by a GPS system have been found to be less accurate than desired with respect to altitude or horizontal measurements. The inaccuracies attributed to altitude measurements in the GPS system are due in part to the fact that the GPS satellites are constrained to be above the horizon in order for signal reception to occur. In this geometry, with all of the visible satellites above the horizon, it is more difficult to measure the vertical or altitude component of a users location since no satellites are visible below the user. The GPS receivers, when measuring physical coordinates, take into consideration satellite geometry (dilution of precision) and estimates of other satellite related errors (URA).
In practice, a barometric altimeter typically provides a more stable measurement of altitude than a GPS system over short periods of time. However, over longer periods of time, pressure variations may be of such magnitude that the barometric altimeter measurement becomes less accurate than GPS derived altimeter measurements. The altitude derived from an uncalibrated barometric altimeter is typically in error by several tens of meters due to normal atmospheric pressure fluctuations, weather fronts and other sources. However, the errors attributed to normal atmospheric pressure fluctuations exhibit bias like characteristics that vary slowly with time. Slow variations in such bias errors cause the barometric altimeter to be less accurate for readings spanning a longer period of time. Accordingly, while an altitude determination derived from barometric pressure may be meaningfully accurate over a short time frame following calibration, over a longer time frame after calibration, the accuracy of such a barometer derived altitude becomes less certain. Conversely, because GPS derived altitudes suffer from different complementary errors, over short periods of time, GPS altitude measurements are subject to large fluctuation and thus more error than barometric altimeter measurements.
U.S. Pat. No. 6,054,477 (McBurney et al.) discloses a method for combining a GPS unit and a barometric pressure sensor, in which an altitude sensor is used to augment availability of GPS location fixes. McBurney et al. provides GPS-assisted determination of location coordinates of a mobile user or selected position on or adjacent to the earth""s surface. Elevation readings from an altimeter or barometer are integrated with readings of the GPS-determined elevation for a location, using Kalman filter techniques, minimum least square techniques, or using comparison of statistically defined parameters associated with the altimeter and GPS variables. The resulting elevation coordinate may be a statistical or filter blend of the altimeter value and a GPS-determined value for the elevation coordinate.
The McBurney et al. method however, fails to recognize that utilizing the difference between the GPS derived altitude and a barometric altimeter altitude as a term in calibrating the barometric altimeter, will common mode out any dynamic changes due to movement of both the barometric altimeter and GPS receiver at the same time. As a result, the McBurney et al. approach requires that the user not change altitude during calibration periods. Hence, during the calibration operation, a user of the McBurney et al. method must remain at a single altitude, preferably stationary. In fact, McBurney et al. describes a navigation mode that is separate and discrete from a calibration mode.
The functional separation of the calibration mode and the navigation mode is a common limitation of conventional systems. Heretofore, a barometric altimeter was calibratable using GPS derived altitude information only when the user was stationary, referred to as a xe2x80x9ccalibration modexe2x80x9d. It is only after completing the xe2x80x9ccalibration modexe2x80x9d that the conventional systems enter the xe2x80x9cnavigation mode.xe2x80x9d Another deficiency of conventional systems is the lack of a method to statistically determined when and whether calibration is needed. Instead, conventional systems perform calibration at startup and when the user manually directs the device to perform a calibration operation.
A need remains for an improved navigation device capable of calibration a throughout operation without separating navigation and calibration functions. Embodiments of the present invention meet this need and other problems experienced theretofore that will become apparent from the above and following description.
In accordance with at least one embodiment of the present convention, a navigation device is provided having a barometric altimeter for obtaining barometric elevation readings based on barometric pressure measurements. A processor is provided for obtaining GPS elevation readings based on GPS measurements. The processor calculates differences between the barometric elevation readings and the GPS elevation readings. A filter is also provided for filtering the differences to produce a barometric altitude correction quantity, where the filter gain is adjustable to correct for error caused by changing factors that vary differently over short and long periods of time. The processor corrects the barometric elevation readings based on the barometric altitude correction quantity generated by the filter.
In accordance with one alternative embodiment, a statistical model may be provided modeling barometric altimeter drift as a function of time with the filter adjusting the filter characteristics based the anticipated drift in the barometric reading. The filter may perform the filtering operations based upon one of multiple filter gain parameters. When initially turned on, the filter gain parameter may be chosen based on an elapsed time since the barometric altimeter was last calibrated. Alternatively, the filter may use a first set of filter gain parameters to remove, from the baro-GPS difference, effects due to short-term fluctuation and a second set of filter gain parameters to remove, from the baro-GPS difference, effects due to long-term fluctuations in conditions.
In at least one embodiment, the processor and filter calibrate the barometric altimeter while the navigation device is in motion and while the elevation changes. The processor and filter may continuously calculate the barometric altimeter correction quantity throughout operation while in a navigation mode.
Optionally, the barometric altimeter may calculate barometric elevation readings based on an atmosphere model correlating barometric pressure readings to particular elevations. The processor may update the atmospheric model continuously throughout operation based on the barometric altimeter correction quantity. Alternatively, the processor may adjust the atmospheric model at least once during operation by recalculating the elevation associated with a particular barometric pressure measurement based on the difference between the barometric and GPS elevation readings associated therewith.
In accordance with at least one embodiment a method is provided for calculating altitude based on measurements from a barometric sensor and measurements from the GPS receiver. The method includes obtaining a first elevation based on barometric pressure measurements and a second elevation based on GPS coordinate information. The difference is calculated between the first and-second elevations. A state feedback loop is utilized to drive the difference between the first and second elevations to a value of zero. A corrected altitude is calculated based on an output of the state feedback loop and the first elevation.
Optionally, the method may include computing at least two gain values defining a rate at which the state feedback loop converges to zero. The method may further include using one of the at least two gain values in the feedback loop. Optionally, a gain value may be selected from a set of multiple gain values, where the selected gain value controls a rate at which the state feedback loop converges to zero. Optionally, the state feedback loop may continuously update the altitude based on the first elevation and the output of the state feedback loop. Alternatively, the state feedback loop may update, at discrete intervals, not continuously, the altitude based on the first elevation and the output of the state feedback loop.